package 线程2;
//用getCurrentThread()来获取当前线程对应的Thread实例的引用
//当使用继承Thread,重写run的方式创建线程的时候,this和Thread.currentThread是没啥区别的.
//倘若是通过Runnable或者lambda的方式创建线程，就不行了
public class TestDemo5 {
    public static void main(String[] args) {
//        Thread t = new Thread(){
//            @Override
//            public void run() {
//                System.out.println(Thread.currentThread().getId());
//                System.out.println(this.getId());
//            }
//        };
//        //在这个代码中,得到的就是t这个引用,也就是相当于在run中直接使用this
//        t.start();

        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getId());
//                System.out.println(this.getId());error,
//                此处的this指向的是Runnable类型的实例,因为this表示的是对当前对象的引用
            }
        });
        t.start();
    }
}
